package com.sisgesbyte.web.managedBean.paginaweb;

import java.io.Serializable;
import java.util.ArrayList;
import java.util.List;

import javax.annotation.PostConstruct;
import javax.ejb.EJB;
import javax.faces.bean.ManagedBean;
import javax.faces.bean.ViewScoped;
import javax.faces.context.FacesContext;
import javax.servlet.http.HttpSession;

import com.sisgesbyte.dao.beanDao.FiltrosBean;
import com.sisgesbyte.dao.beanDao.FiltrosSQLBean;
import com.sisgesbyte.services.administracion.MantenimientoMarca;
import com.sisgesbyte.services.administracion.bean.MarcaBean;
import com.sisgesbyte.services.administracion.bean.MarcaListaResponse;

@ManagedBean
@ViewScoped
public class WebMarcasMBean implements Serializable {

	private static final long serialVersionUID = 1L;

	@EJB
	private MantenimientoMarca mantenimientoMarca;
	private List<MarcaBean> listaMarca;

	@PostConstruct
	private void init() {
		inicializar();
	}

	public void inicializar() {
		try {
			FiltrosSQLBean filtros = new FiltrosSQLBean();
			List<FiltrosBean> listaFiltros = new ArrayList<FiltrosBean>();
			FiltrosBean filtroCampos = new FiltrosBean();
			List<String> campos = new ArrayList<String>();
			campos.add("active");
			filtroCampos.setCampos(campos);
			filtroCampos.setOperador("=");
			listaFiltros.add(filtroCampos);
			List<Object> valores = new ArrayList<Object>();
			valores.add(true);
			filtros.setListaFiltros(listaFiltros);
			filtros.setListaValores(valores);
			
			MarcaListaResponse response = mantenimientoMarca.listaMarcas(ObtenerIdTransaccion(), filtros);
			this.listaMarca = response.getListaMarca();
			
		} catch (Exception e) {
			System.out.println("Error al obtener la lista " + e.getMessage());
		}
	}

	public String ObtenerIdTransaccion() {
		String sessionId = "";
		try {
			FacesContext fCtx = FacesContext.getCurrentInstance();
			HttpSession session = (HttpSession) fCtx.getExternalContext()
					.getSession(false);
			sessionId = session.getId().replace(".undefined", "");
		} catch (Exception e) {
			sessionId = "Error";
			System.out.println("Error al obtener Session" + e);
		}
		return sessionId;
	}

	public List<MarcaBean> getListaMarca() {
		return listaMarca;
	}

	public void setListaMarca(List<MarcaBean> listaMarca) {
		this.listaMarca = listaMarca;
	}
}
